(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_22 (Sun Microsystems Inc.) Main-Class: GrowTreeR/GrowTreeR
package GrowTreeR;

public class GrowTreeR {
public static void main(final String[] args) {
Random.args = args;

final Tree t = Tree.createTree(Random.random());
growList(t.children);
}

public static void growTree(final Tree t) {
if (t == null) {
return;
} else if (t.children == null) {
t.children = new TreeList(new Tree(), null);
} else {
growList(t.children);
}
}

public static void growList(final TreeList l) {
if (l == null) {
return;
} else {
growTree(l.value);
growList(l.next);
}
}
}


package GrowTreeR;
public class Random {
static String[] args;
static int index = 0;

public static int random() {
final String string = args[index];
index++;
return string.length();
}
}


package GrowTreeR;
public class Tree {
TreeList children;

public Tree() {
this.children = null;
}

public void addChild(final Tree t) {
this.children = new TreeList(t, this.children);
}

public static Tree createNode() {
final Tree result = new Tree();
return result;
}

public static Tree createTree(int depth) {
if (depth <= 0) {
return null;
}
depth = depth - 1;

final Tree result = new Tree();
final int numberOfChildren = Random.random();

for (int i = 0; i < numberOfChildren; i++) {
result.addChild(createTree(depth - 1));
}

return result;
}
}


package GrowTreeR;
public class TreeList {
Tree value;
TreeList next;

public TreeList(final Tree value, final TreeList next) {
this.value = value;
this.next = next;
}
}


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
GrowTreeR.GrowTreeR.main([Ljava/lang/String;)V: Graph of 164 nodes with 0 SCCs.

GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;: Graph of 163 nodes with 1 SCC.

GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V: Graph of 50 nodes with 0 SCCs.

GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V: Graph of 52 nodes with 0 SCCs.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 2 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V, GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V
SCC calls the following helper methods: GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V, GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V
Performed SCC analyses: UsedFieldsAnalysis

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 39 rules for P and 69 rules for R.


P rules:
1753_0_growList_NONNULL(EOS(STATIC_1753), java.lang.Object(o499sub), java.lang.Object(o499sub)) → 1769_0_growList_NONNULL(EOS(STATIC_1769), java.lang.Object(o499sub), java.lang.Object(o499sub))
1769_0_growList_NONNULL(EOS(STATIC_1769), java.lang.Object(o499sub), java.lang.Object(o499sub)) → 1783_0_growList_Load(EOS(STATIC_1783), java.lang.Object(o499sub))
1783_0_growList_Load(EOS(STATIC_1783), java.lang.Object(o499sub)) → 1793_0_growList_FieldAccess(EOS(STATIC_1793), java.lang.Object(o499sub), java.lang.Object(o499sub))
1793_0_growList_FieldAccess(EOS(STATIC_1793), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534))) → 1807_0_growList_FieldAccess(EOS(STATIC_1807), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)))
1807_0_growList_FieldAccess(EOS(STATIC_1807), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534))) → 1825_0_growList_InvokeMethod(EOS(STATIC_1825), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), o533)
1825_0_growList_InvokeMethod(EOS(STATIC_1825), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), o533) → 1831_1_growList_InvokeMethod(1831_0_growTree_Load(EOS(STATIC_1831), o533), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), o533)
1831_0_growTree_Load(EOS(STATIC_1831), o533) → 1838_0_growTree_Load(EOS(STATIC_1838), o533)
1831_1_growList_InvokeMethod(1865_0_growTree_Return(EOS(STATIC_1865), NULL), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534)), NULL) → 1891_0_growTree_Return(EOS(STATIC_1891), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534)), NULL, NULL)
1831_1_growList_InvokeMethod(2280_0_growTree_Return(EOS(STATIC_2280)), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), o533) → 2358_0_growTree_Return(EOS(STATIC_2358), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))))
1831_1_growList_InvokeMethod(2582_0_growTree_Return(EOS(STATIC_2582)), java.lang.Object(GrowTreeR.TreeList(EOC, o533, o534)), o533) → 2634_0_growTree_Return(EOS(STATIC_2634), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294)))))
1838_0_growTree_Load(EOS(STATIC_1838), o533) → 1844_0_growTree_Load(EOS(STATIC_1844), o533)
1844_0_growTree_Load(EOS(STATIC_1844), o533) → 1851_0_growTree_NONNULL(EOS(STATIC_1851), o533, o533)
1851_0_growTree_NONNULL(EOS(STATIC_1851), java.lang.Object(o564sub), java.lang.Object(o564sub)) → 1857_0_growTree_NONNULL(EOS(STATIC_1857), java.lang.Object(o564sub), java.lang.Object(o564sub))
1857_0_growTree_NONNULL(EOS(STATIC_1857), java.lang.Object(o564sub), java.lang.Object(o564sub)) → 1864_0_growTree_Load(EOS(STATIC_1864), java.lang.Object(o564sub))
1864_0_growTree_Load(EOS(STATIC_1864), java.lang.Object(o564sub)) → 1873_0_growTree_FieldAccess(EOS(STATIC_1873), java.lang.Object(o564sub), java.lang.Object(o564sub))
1873_0_growTree_FieldAccess(EOS(STATIC_1873), java.lang.Object(GrowTreeR.Tree(EOC, o579)), java.lang.Object(GrowTreeR.Tree(EOC, o579))) → 1880_0_growTree_FieldAccess(EOS(STATIC_1880), java.lang.Object(GrowTreeR.Tree(EOC, o579)), java.lang.Object(GrowTreeR.Tree(EOC, o579)))
1880_0_growTree_FieldAccess(EOS(STATIC_1880), java.lang.Object(GrowTreeR.Tree(EOC, o579)), java.lang.Object(GrowTreeR.Tree(EOC, o579))) → 1890_0_growTree_NONNULL(EOS(STATIC_1890), java.lang.Object(GrowTreeR.Tree(EOC, o579)), o579)
1890_0_growTree_NONNULL(EOS(STATIC_1890), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub))), java.lang.Object(o591sub)) → 1899_0_growTree_NONNULL(EOS(STATIC_1899), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub))), java.lang.Object(o591sub))
1899_0_growTree_NONNULL(EOS(STATIC_1899), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub))), java.lang.Object(o591sub)) → 1907_0_growTree_Load(EOS(STATIC_1907), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub))))
1907_0_growTree_Load(EOS(STATIC_1907), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub)))) → 1918_0_growTree_FieldAccess(EOS(STATIC_1918), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub))))
1918_0_growTree_FieldAccess(EOS(STATIC_1918), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o591sub)))) → 1927_0_growTree_InvokeMethod(EOS(STATIC_1927), java.lang.Object(o591sub))
1927_0_growTree_InvokeMethod(EOS(STATIC_1927), java.lang.Object(o591sub)) → 1936_1_growTree_InvokeMethod(1936_0_growList_Load(EOS(STATIC_1936), java.lang.Object(o591sub)), java.lang.Object(o591sub))
1936_0_growList_Load(EOS(STATIC_1936), java.lang.Object(o591sub)) → 1949_0_growList_Load(EOS(STATIC_1949), java.lang.Object(o591sub))
1949_0_growList_Load(EOS(STATIC_1949), java.lang.Object(o591sub)) → 1741_0_growList_Load(EOS(STATIC_1741), java.lang.Object(o591sub))
1741_0_growList_Load(EOS(STATIC_1741), o477) → 1753_0_growList_NONNULL(EOS(STATIC_1753), o477, o477)
1891_0_growTree_Return(EOS(STATIC_1891), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534)), NULL, NULL) → 1902_0_growList_Load(EOS(STATIC_1902), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534)))
1902_0_growList_Load(EOS(STATIC_1902), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534))) → 1910_0_growList_FieldAccess(EOS(STATIC_1910), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534)))
1910_0_growList_FieldAccess(EOS(STATIC_1910), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o534))) → 1921_0_growList_InvokeMethod(EOS(STATIC_1921), o534)
1921_0_growList_InvokeMethod(EOS(STATIC_1921), o534) → 1930_1_growList_InvokeMethod(1930_0_growList_Load(EOS(STATIC_1930), o534), o534)
1930_0_growList_Load(EOS(STATIC_1930), o534) → 1939_0_growList_Load(EOS(STATIC_1939), o534)
1939_0_growList_Load(EOS(STATIC_1939), o534) → 1741_0_growList_Load(EOS(STATIC_1741), o534)
2358_0_growTree_Return(EOS(STATIC_2358), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))))) → 2359_0_growTree_Return(EOS(STATIC_2359), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))))
2359_0_growTree_Return(EOS(STATIC_2359), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), o983)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986))))) → 2396_0_growList_Load(EOS(STATIC_2396), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), o983)))
2396_0_growList_Load(EOS(STATIC_2396), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), o983))) → 2407_0_growList_FieldAccess(EOS(STATIC_2407), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), o983)))
2407_0_growList_FieldAccess(EOS(STATIC_2407), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), o983))) → 2417_0_growList_InvokeMethod(EOS(STATIC_2417), o983)
2417_0_growList_InvokeMethod(EOS(STATIC_2417), o983) → 2437_1_growList_InvokeMethod(2437_0_growList_Load(EOS(STATIC_2437), o983), o983)
2437_0_growList_Load(EOS(STATIC_2437), o983) → 2455_0_growList_Load(EOS(STATIC_2455), o983)
2455_0_growList_Load(EOS(STATIC_2455), o983) → 1741_0_growList_Load(EOS(STATIC_1741), o983)
2634_0_growTree_Return(EOS(STATIC_2634), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294))))) → 2359_0_growTree_Return(EOS(STATIC_2359), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294)))), o534)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294)))))
R rules:
1753_0_growList_NONNULL(EOS(STATIC_1753), NULL, NULL) → 1770_0_growList_NONNULL(EOS(STATIC_1770), NULL, NULL)
1770_0_growList_NONNULL(EOS(STATIC_1770), NULL, NULL) → 1785_0_growList_Return(EOS(STATIC_1785), NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return(EOS(STATIC_1785), NULL), NULL) → 1965_0_growList_Return(EOS(STATIC_1965), NULL, NULL)
1930_1_growList_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2002_0_growList_Return(EOS(STATIC_2002), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
1930_1_growList_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), o534) → 2541_0_growList_Return(EOS(STATIC_2541), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL)))
1930_1_growList_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), o534) → 2623_0_growList_Return(EOS(STATIC_2623), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
1930_1_growList_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), o534) → 2640_0_growList_Return(EOS(STATIC_2640), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))
1965_0_growList_Return(EOS(STATIC_1965), NULL, NULL) → 1971_0_growList_Return(EOS(STATIC_1971))
2002_0_growList_Return(EOS(STATIC_2002), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2061_0_growList_Return(EOS(STATIC_2061), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2061_0_growList_Return(EOS(STATIC_2061), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o671))) → 2374_0_growList_Return(EOS(STATIC_2374), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o671)))
2161_0_growTree_Return(EOS(STATIC_2161), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o765)))), o762)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o765))))) → 2359_0_growTree_Return(EOS(STATIC_2359), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o765)))), o762)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o765)))))
2374_0_growList_Return(EOS(STATIC_2374), java.lang.Object(GrowTreeR.TreeList(EOC, o1012, o1011))) → 2542_0_growList_Return(EOS(STATIC_2542), java.lang.Object(GrowTreeR.TreeList(EOC, o1012, o1011)))
2437_1_growList_InvokeMethod(1785_0_growList_Return(EOS(STATIC_1785), NULL), NULL) → 2479_0_growList_Return(EOS(STATIC_2479), NULL, NULL)
2437_1_growList_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2480_0_growList_Return(EOS(STATIC_2480), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2437_1_growList_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), o983) → 2559_0_growList_Return(EOS(STATIC_2559), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1250, o1249)))), NULL)))
2437_1_growList_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), o983) → 2629_0_growList_Return(EOS(STATIC_2629), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
2437_1_growList_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), o983) → 2649_0_growList_Return(EOS(STATIC_2649), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))
2479_0_growList_Return(EOS(STATIC_2479), NULL, NULL) → 2492_0_growList_Return(EOS(STATIC_2492))
2480_0_growList_Return(EOS(STATIC_2480), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2486_0_growList_Return(EOS(STATIC_2486), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2486_0_growList_Return(EOS(STATIC_2486), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o1162))) → 2560_0_growList_Return(EOS(STATIC_2560), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o1162)))
2541_0_growList_Return(EOS(STATIC_2541), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL))) → 2542_0_growList_Return(EOS(STATIC_2542), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL)))
2542_0_growList_Return(EOS(STATIC_2542), java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264))) → 2579_0_growList_Return(EOS(STATIC_2579))
2559_0_growList_Return(EOS(STATIC_2559), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1250, o1249)))), NULL))) → 2560_0_growList_Return(EOS(STATIC_2560), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1250, o1249)))), NULL)))
2560_0_growList_Return(EOS(STATIC_2560), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304))) → 2587_0_growList_Return(EOS(STATIC_2587))
2623_0_growList_Return(EOS(STATIC_2623), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264))))) → 2542_0_growList_Return(EOS(STATIC_2542), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
2629_0_growList_Return(EOS(STATIC_2629), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264))))) → 2560_0_growList_Return(EOS(STATIC_2560), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
2640_0_growList_Return(EOS(STATIC_2640), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304))))) → 2542_0_growList_Return(EOS(STATIC_2542), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))
2649_0_growList_Return(EOS(STATIC_2649), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304))))) → 2560_0_growList_Return(EOS(STATIC_2560), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))
1851_0_growTree_NONNULL(EOS(STATIC_1851), NULL, NULL) → 1858_0_growTree_NONNULL(EOS(STATIC_1858), NULL, NULL)
1858_0_growTree_NONNULL(EOS(STATIC_1858), NULL, NULL) → 1865_0_growTree_Return(EOS(STATIC_1865), NULL)
1890_0_growTree_NONNULL(EOS(STATIC_1890), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1900_0_growTree_NONNULL(EOS(STATIC_1900), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1900_0_growTree_NONNULL(EOS(STATIC_1900), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1909_0_growTree_Load(EOS(STATIC_1909), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1909_0_growTree_Load(EOS(STATIC_1909), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1920_0_growTree_New(EOS(STATIC_1920), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1920_0_growTree_New(EOS(STATIC_1920), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1929_0_growTree_Duplicate(EOS(STATIC_1929), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
1929_0_growTree_Duplicate(EOS(STATIC_1929), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 1937_0_growTree_New(EOS(STATIC_1937), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
1936_1_growTree_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2003_0_growList_Return(EOS(STATIC_2003), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
1936_1_growTree_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), java.lang.Object(o591sub)) → 2547_0_growList_Return(EOS(STATIC_2547), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL)))
1936_1_growTree_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), java.lang.Object(o591sub)) → 2626_0_growList_Return(EOS(STATIC_2626), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
1936_1_growTree_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), java.lang.Object(o591sub)) → 2644_0_growList_Return(EOS(STATIC_2644), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))
1937_0_growTree_New(EOS(STATIC_1937), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 1951_0_growTree_Duplicate(EOS(STATIC_1951), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1951_0_growTree_Duplicate(EOS(STATIC_1951), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1954_0_growTree_InvokeMethod(EOS(STATIC_1954), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1954_0_growTree_InvokeMethod(EOS(STATIC_1954), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1964_0_<init>_Load(EOS(STATIC_1964), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1964_0_<init>_Load(EOS(STATIC_1964), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1976_0_<init>_InvokeMethod(EOS(STATIC_1976), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1976_0_<init>_InvokeMethod(EOS(STATIC_1976), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1982_0_<init>_Load(EOS(STATIC_1982), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1982_0_<init>_Load(EOS(STATIC_1982), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2000_0_<init>_ConstantStackPush(EOS(STATIC_2000), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2000_0_<init>_ConstantStackPush(EOS(STATIC_2000), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2010_0_<init>_FieldAccess(EOS(STATIC_2010), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2003_0_growList_Return(EOS(STATIC_2003), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2067_0_growList_Return(EOS(STATIC_2067), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2010_0_<init>_FieldAccess(EOS(STATIC_2010), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2022_0_<init>_Return(EOS(STATIC_2022), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2022_0_<init>_Return(EOS(STATIC_2022), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2029_0_growTree_ConstantStackPush(EOS(STATIC_2029), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2029_0_growTree_ConstantStackPush(EOS(STATIC_2029), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2051_0_growTree_InvokeMethod(EOS(STATIC_2051), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2051_0_growTree_InvokeMethod(EOS(STATIC_2051), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2071_0_<init>_Load(EOS(STATIC_2071), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2067_0_growList_Return(EOS(STATIC_2067), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o685))) → 2381_0_growList_Return(EOS(STATIC_2381), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o685)))
2071_0_<init>_Load(EOS(STATIC_2071), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2113_0_<init>_InvokeMethod(EOS(STATIC_2113), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2113_0_<init>_InvokeMethod(EOS(STATIC_2113), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2144_0_<init>_Load(EOS(STATIC_2144), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2144_0_<init>_Load(EOS(STATIC_2144), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2167_0_<init>_Load(EOS(STATIC_2167), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2167_0_<init>_Load(EOS(STATIC_2167), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2179_0_<init>_FieldAccess(EOS(STATIC_2179), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2179_0_<init>_FieldAccess(EOS(STATIC_2179), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2198_0_<init>_Load(EOS(STATIC_2198), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL)
2198_0_<init>_Load(EOS(STATIC_2198), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL) → 2210_0_<init>_Load(EOS(STATIC_2210), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))
2210_0_<init>_Load(EOS(STATIC_2210), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))) → 2219_0_<init>_FieldAccess(EOS(STATIC_2219), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL)
2219_0_<init>_FieldAccess(EOS(STATIC_2219), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL) → 2233_0_<init>_Return(EOS(STATIC_2233), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2233_0_<init>_Return(EOS(STATIC_2233), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2247_0_growTree_FieldAccess(EOS(STATIC_2247), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))
2247_0_growTree_FieldAccess(EOS(STATIC_2247), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))) → 2266_0_growTree_JMP(EOS(STATIC_2266))
2266_0_growTree_JMP(EOS(STATIC_2266)) → 2280_0_growTree_Return(EOS(STATIC_2280))
2280_0_growTree_Return(EOS(STATIC_2280)) → 2582_0_growTree_Return(EOS(STATIC_2582))
2381_0_growList_Return(EOS(STATIC_2381), java.lang.Object(GrowTreeR.TreeList(EOC, o1034, o1033))) → 2548_0_growList_Return(EOS(STATIC_2548), java.lang.Object(GrowTreeR.TreeList(EOC, o1034, o1033)))
2547_0_growList_Return(EOS(STATIC_2547), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL))) → 2548_0_growList_Return(EOS(STATIC_2548), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o987, o986)))), NULL)))
2548_0_growList_Return(EOS(STATIC_2548), java.lang.Object(GrowTreeR.TreeList(EOC, o1295, o1294))) → 2582_0_growTree_Return(EOS(STATIC_2582))
2626_0_growList_Return(EOS(STATIC_2626), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264))))) → 2548_0_growList_Return(EOS(STATIC_2548), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1265, o1264)))))
2644_0_growList_Return(EOS(STATIC_2644), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304))))) → 2548_0_growList_Return(EOS(STATIC_2548), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1309, o1308)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1305, o1304)))))

Combined rules. Obtained 4 conditional rules for P and 15 conditional rules for R.


P rules:
1753_0_growList_NONNULL(EOS(STATIC_1753), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1))) → 1831_1_growList_InvokeMethod(1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(EOS(STATIC_1753), java.lang.Object(x0), java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))))
1831_1_growList_InvokeMethod(1865_0_growTree_Return(EOS(STATIC_1865), NULL), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, x0)), NULL) → 1930_1_growList_InvokeMethod(1753_0_growList_NONNULL(EOS(STATIC_1753), x0, x0), x0)
1831_1_growList_InvokeMethod(2280_0_growTree_Return(EOS(STATIC_2280)), java.lang.Object(GrowTreeR.TreeList(EOC, x0, x1)), x0) → 2437_1_growList_InvokeMethod(1753_0_growList_NONNULL(EOS(STATIC_1753), x1, x1), x1)
1831_1_growList_InvokeMethod(2582_0_growTree_Return(EOS(STATIC_2582)), java.lang.Object(GrowTreeR.TreeList(EOC, x0, x1)), x0) → 2437_1_growList_InvokeMethod(1753_0_growList_NONNULL(EOS(STATIC_1753), x1, x1), x1)
R rules:
1753_0_growList_NONNULL(EOS(STATIC_1753), NULL, NULL) → 1785_0_growList_Return(EOS(STATIC_1785), NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return(EOS(STATIC_1785), NULL), NULL) → 1971_0_growList_Return(EOS(STATIC_1971))
1930_1_growList_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), x0) → 2579_0_growList_Return(EOS(STATIC_2579))
1930_1_growList_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), x0) → 2579_0_growList_Return(EOS(STATIC_2579))
1930_1_growList_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), x0) → 2579_0_growList_Return(EOS(STATIC_2579))
1930_1_growList_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2579_0_growList_Return(EOS(STATIC_2579))
2437_1_growList_InvokeMethod(1785_0_growList_Return(EOS(STATIC_1785), NULL), NULL) → 2492_0_growList_Return(EOS(STATIC_2492))
2437_1_growList_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), x0) → 2587_0_growList_Return(EOS(STATIC_2587))
2437_1_growList_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), x0) → 2587_0_growList_Return(EOS(STATIC_2587))
2437_1_growList_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), x0) → 2587_0_growList_Return(EOS(STATIC_2587))
2437_1_growList_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2587_0_growList_Return(EOS(STATIC_2587))
1936_1_growTree_InvokeMethod(2492_0_growList_Return(EOS(STATIC_2492)), java.lang.Object(x0)) → 2582_0_growTree_Return(EOS(STATIC_2582))
1936_1_growTree_InvokeMethod(2579_0_growList_Return(EOS(STATIC_2579)), java.lang.Object(x0)) → 2582_0_growTree_Return(EOS(STATIC_2582))
1936_1_growTree_InvokeMethod(2587_0_growList_Return(EOS(STATIC_2587)), java.lang.Object(x0)) → 2582_0_growTree_Return(EOS(STATIC_2582))
1936_1_growTree_InvokeMethod(1971_0_growList_Return(EOS(STATIC_1971)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2582_0_growTree_Return(EOS(STATIC_2582))

Filtered ground terms:



1753_0_growList_NONNULL(x1, x2, x3) → 1753_0_growList_NONNULL(x2, x3)
GrowTreeR.TreeList(x1, x2, x3) → GrowTreeR.TreeList(x2, x3)
2582_0_growTree_Return(x1) → 2582_0_growTree_Return
2280_0_growTree_Return(x1) → 2280_0_growTree_Return
1865_0_growTree_Return(x1, x2) → 1865_0_growTree_Return
GrowTreeR.Tree(x1, x2) → GrowTreeR.Tree(x2)
1971_0_growList_Return(x1) → 1971_0_growList_Return
2587_0_growList_Return(x1) → 2587_0_growList_Return
2579_0_growList_Return(x1) → 2579_0_growList_Return
2492_0_growList_Return(x1) → 2492_0_growList_Return
1785_0_growList_Return(x1, x2) → 1785_0_growList_Return

Filtered duplicate args:



1753_0_growList_NONNULL(x1, x2) → 1753_0_growList_NONNULL(x2)
1831_1_growList_InvokeMethod(x1, x2, x3) → 1831_1_growList_InvokeMethod(x1, x2)

Combined rules. Obtained 4 conditional rules for P and 15 conditional rules for R.


P rules:
1753_0_growList_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1831_1_growList_InvokeMethod(1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1)))
1831_1_growList_InvokeMethod(1865_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0))) → 1930_1_growList_InvokeMethod(1753_0_growList_NONNULL(x0), x0)
1831_1_growList_InvokeMethod(2280_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 2437_1_growList_InvokeMethod(1753_0_growList_NONNULL(x1), x1)
1831_1_growList_InvokeMethod(2582_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 2437_1_growList_InvokeMethod(1753_0_growList_NONNULL(x1), x1)
R rules:
1753_0_growList_NONNULL(NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 1971_0_growList_Return
1930_1_growList_InvokeMethod(2492_0_growList_Return, x0) → 2579_0_growList_Return
1930_1_growList_InvokeMethod(2579_0_growList_Return, x0) → 2579_0_growList_Return
1930_1_growList_InvokeMethod(2587_0_growList_Return, x0) → 2579_0_growList_Return
1930_1_growList_InvokeMethod(1971_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2579_0_growList_Return
2437_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 2492_0_growList_Return
2437_1_growList_InvokeMethod(2492_0_growList_Return, x0) → 2587_0_growList_Return
2437_1_growList_InvokeMethod(2579_0_growList_Return, x0) → 2587_0_growList_Return
2437_1_growList_InvokeMethod(2587_0_growList_Return, x0) → 2587_0_growList_Return
2437_1_growList_InvokeMethod(1971_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2587_0_growList_Return
1936_1_growTree_InvokeMethod(2492_0_growList_Return, java.lang.Object(x0)) → 2582_0_growTree_Return
1936_1_growTree_InvokeMethod(2579_0_growList_Return, java.lang.Object(x0)) → 2582_0_growTree_Return
1936_1_growTree_InvokeMethod(2587_0_growList_Return, java.lang.Object(x0)) → 2582_0_growTree_Return
1936_1_growTree_InvokeMethod(1971_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2582_0_growTree_Return

Performed bisimulation on rules. Used the following equivalence classes: {[1785_0_growList_Return, 1971_0_growList_Return, 2492_0_growList_Return, 2579_0_growList_Return, 2587_0_growList_Return, 2582_0_growTree_Return, 1865_0_growTree_Return, 2280_0_growTree_Return]=1785_0_growList_Return, [1930_1_growList_InvokeMethod_2, 2437_1_growList_InvokeMethod_2]=1930_1_growList_InvokeMethod_2}


Finished conversion. Obtained 4 rules for P and 6 rules for R. System has no predefined symbols.


P rules:
1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1831_1_GROWLIST_INVOKEMETHOD(1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1)))
1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0))
1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0))) → 1753_0_GROWLIST_NONNULL(x0)
1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 1753_0_GROWLIST_NONNULL(x1)
R rules:
1753_0_growList_NONNULL(NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0)) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:
none


The ITRS R consists of the following rules:
1753_0_growList_NONNULL(NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0)) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return

The integer pair graph contains the following rules and edges:
(0): 1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0]))) → 1831_1_GROWLIST_INVOKEMETHOD(1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))
(1): 1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
(2): 1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0[2]))) → 1753_0_GROWLIST_NONNULL(x0[2])
(3): 1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3]))) → 1753_0_GROWLIST_NONNULL(x1[3])

(0) -> (2), if (1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])) →* 1785_0_growList_Returnjava.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])) →* java.lang.Object(GrowTreeR.TreeList(NULL, x0[2])))


(0) -> (3), if (1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])) →* 1785_0_growList_Returnjava.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])) →* java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3])))


(1) -> (0), if (java.lang.Object(x0[1]) →* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(1) -> (1), if (java.lang.Object(x0[1]) →* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]'))), x1[1]')))


(2) -> (0), if (x0[2]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(2) -> (1), if (x0[2]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1])))


(3) -> (0), if (x1[3]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(3) -> (1), if (x1[3]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1])))



The set Q consists of the following terms:
1753_0_growList_NONNULL(NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0)
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0))

(8) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(9) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0]))) → 1831_1_GROWLIST_INVOKEMETHOD(1936_1_growTree_InvokeMethod(1753_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))
1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0[2]))) → 1753_0_GROWLIST_NONNULL(x0[2])
1831_1_GROWLIST_INVOKEMETHOD(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3]))) → 1753_0_GROWLIST_NONNULL(x1[3])

The TRS R consists of the following rules:

1753_0_growList_NONNULL(NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0)) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return

The set Q consists of the following terms:

1753_0_growList_NONNULL(NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0)
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(10) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

The TRS R consists of the following rules:

1753_0_growList_NONNULL(NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, NULL) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0) → 1785_0_growList_Return
1930_1_growList_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0)) → 1785_0_growList_Return
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1785_0_growList_Return

The set Q consists of the following terms:

1753_0_growList_NONNULL(NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0)
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(12) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

R is empty.
The set Q consists of the following terms:

1753_0_growList_NONNULL(NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0)
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(14) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

1753_0_growList_NONNULL(NULL)
1930_1_growList_InvokeMethod(1785_0_growList_Return, x0)
1936_1_growTree_InvokeMethod(1785_0_growList_Return, java.lang.Object(x0))

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(16) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 1753_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1753_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
    The graph contains the following edges 1 > 1

(17) YES

(18) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;
SCC calls the following helper methods: GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;
Performed SCC analyses: UsedFieldsAnalysis

(19) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 101 rules for P and 62 rules for R.


P rules:
1220_0_createTree_GT(EOS(STATIC_1220), i224, i224) → 1224_0_createTree_GT(EOS(STATIC_1224), i224, i224)
1224_0_createTree_GT(EOS(STATIC_1224), i224, i224) → 1227_0_createTree_Load(EOS(STATIC_1227), i224) | >(i224, 0)
1227_0_createTree_Load(EOS(STATIC_1227), i224) → 1234_0_createTree_ConstantStackPush(EOS(STATIC_1234), i224)
1234_0_createTree_ConstantStackPush(EOS(STATIC_1234), i224) → 1238_0_createTree_IntArithmetic(EOS(STATIC_1238), i224, 1)
1238_0_createTree_IntArithmetic(EOS(STATIC_1238), i224, matching1) → 1245_0_createTree_Store(EOS(STATIC_1245), -(i224, 1)) | &&(>(i224, 0), =(matching1, 1))
1245_0_createTree_Store(EOS(STATIC_1245), i230) → 1251_0_createTree_New(EOS(STATIC_1251), i230)
1251_0_createTree_New(EOS(STATIC_1251), i230) → 1253_0_createTree_Duplicate(EOS(STATIC_1253), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1253_0_createTree_Duplicate(EOS(STATIC_1253), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1255_0_createTree_InvokeMethod(EOS(STATIC_1255), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1255_0_createTree_InvokeMethod(EOS(STATIC_1255), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1256_0_<init>_Load(EOS(STATIC_1256), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1256_0_<init>_Load(EOS(STATIC_1256), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1258_0_<init>_InvokeMethod(EOS(STATIC_1258), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1258_0_<init>_InvokeMethod(EOS(STATIC_1258), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1260_0_<init>_Load(EOS(STATIC_1260), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1260_0_<init>_Load(EOS(STATIC_1260), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1261_0_<init>_ConstantStackPush(EOS(STATIC_1261), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1261_0_<init>_ConstantStackPush(EOS(STATIC_1261), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1263_0_<init>_FieldAccess(EOS(STATIC_1263), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1263_0_<init>_FieldAccess(EOS(STATIC_1263), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1265_0_<init>_Return(EOS(STATIC_1265), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1265_0_<init>_Return(EOS(STATIC_1265), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1266_0_createTree_Store(EOS(STATIC_1266), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1266_0_createTree_Store(EOS(STATIC_1266), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1268_0_createTree_InvokeMethod(EOS(STATIC_1268), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1268_0_createTree_InvokeMethod(EOS(STATIC_1268), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1269_0_random_FieldAccess(EOS(STATIC_1269), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1269_0_random_FieldAccess(EOS(STATIC_1269), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1271_0_random_FieldAccess(EOS(STATIC_1271), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)))
1271_0_random_FieldAccess(EOS(STATIC_1271), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72))) → 1273_0_random_ArrayAccess(EOS(STATIC_1273), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220)
1273_0_random_ArrayAccess(EOS(STATIC_1273), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220) → 1274_0_random_ArrayAccess(EOS(STATIC_1274), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220)
1274_0_random_ArrayAccess(EOS(STATIC_1274), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220) → 1277_0_random_Store(EOS(STATIC_1277), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213) | <(i220, i72)
1277_0_random_Store(EOS(STATIC_1277), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213) → 1280_0_random_FieldAccess(EOS(STATIC_1280), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213)
1280_0_random_FieldAccess(EOS(STATIC_1280), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213) → 1282_0_random_ConstantStackPush(EOS(STATIC_1282), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, i220)
1282_0_random_ConstantStackPush(EOS(STATIC_1282), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, i220) → 1285_0_random_IntArithmetic(EOS(STATIC_1285), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, i220, 1)
1285_0_random_IntArithmetic(EOS(STATIC_1285), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, i220, matching1) → 1289_0_random_FieldAccess(EOS(STATIC_1289), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, +(i220, 1)) | &&(>(i220, 0), =(matching1, 1))
1289_0_random_FieldAccess(EOS(STATIC_1289), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213, i232) → 1291_0_random_Load(EOS(STATIC_1291), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213)
1291_0_random_Load(EOS(STATIC_1291), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213) → 1295_0_random_InvokeMethod(EOS(STATIC_1295), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o213)
1295_0_random_InvokeMethod(EOS(STATIC_1295), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub)) → 1299_0_random_InvokeMethod(EOS(STATIC_1299), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub))
1299_0_random_InvokeMethod(EOS(STATIC_1299), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub)) → 1302_0_length_Load(EOS(STATIC_1302), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub), java.lang.Object(o217sub))
1302_0_length_Load(EOS(STATIC_1302), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub), java.lang.Object(o217sub)) → 1310_0_length_FieldAccess(EOS(STATIC_1310), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o217sub), java.lang.Object(o217sub))
1310_0_length_FieldAccess(EOS(STATIC_1310), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o222sub, i246)), java.lang.Object(java.lang.String(o222sub, i246))) → 1312_0_length_FieldAccess(EOS(STATIC_1312), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o222sub, i246)), java.lang.Object(java.lang.String(o222sub, i246))) | &&(>=(i246, 0), >=(i247, 0))
1312_0_length_FieldAccess(EOS(STATIC_1312), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o222sub, i246)), java.lang.Object(java.lang.String(o222sub, i246))) → 1317_0_length_Return(EOS(STATIC_1317), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o222sub, i246)), i246)
1317_0_length_Return(EOS(STATIC_1317), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o222sub, i246)), i246) → 1322_0_random_Return(EOS(STATIC_1322), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246)
1322_0_random_Return(EOS(STATIC_1322), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246) → 1324_0_createTree_Store(EOS(STATIC_1324), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246)
1324_0_createTree_Store(EOS(STATIC_1324), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246) → 1327_0_createTree_ConstantStackPush(EOS(STATIC_1327), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246)
1327_0_createTree_ConstantStackPush(EOS(STATIC_1327), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246) → 1332_0_createTree_Store(EOS(STATIC_1332), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246, 0)
1332_0_createTree_Store(EOS(STATIC_1332), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246, matching1) → 1336_0_createTree_Load(EOS(STATIC_1336), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246, 0) | =(matching1, 0)
1336_0_createTree_Load(EOS(STATIC_1336), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246, matching1) → 1665_0_createTree_Load(EOS(STATIC_1665), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i246, 0) | =(matching1, 0)
1665_0_createTree_Load(EOS(STATIC_1665), i230, java.lang.Object(GrowTreeR.Tree(EOC, o429)), i463, i464) → 1946_0_createTree_Load(EOS(STATIC_1946), i230, java.lang.Object(GrowTreeR.Tree(EOC, o429)), i463, i464)
1946_0_createTree_Load(EOS(STATIC_1946), i230, java.lang.Object(GrowTreeR.Tree(EOC, o616)), i463, i624) → 2508_0_createTree_Load(EOS(STATIC_2508), i230, java.lang.Object(GrowTreeR.Tree(EOC, o616)), i463, i624)
2508_0_createTree_Load(EOS(STATIC_2508), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1234)), i463, i945) → 2796_0_createTree_Load(EOS(STATIC_2796), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1234)), i463, i945)
2796_0_createTree_Load(EOS(STATIC_2796), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172) → 2797_0_createTree_Load(EOS(STATIC_2797), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172)
2797_0_createTree_Load(EOS(STATIC_2797), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172) → 2799_0_createTree_GE(EOS(STATIC_2799), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463)
2799_0_createTree_GE(EOS(STATIC_2799), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463) → 2801_0_createTree_GE(EOS(STATIC_2801), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463)
2801_0_createTree_GE(EOS(STATIC_2801), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463) → 2804_0_createTree_Load(EOS(STATIC_2804), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172) | <(i1172, i463)
2804_0_createTree_Load(EOS(STATIC_2804), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172) → 2806_0_createTree_Load(EOS(STATIC_2806), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2806_0_createTree_Load(EOS(STATIC_2806), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2809_0_createTree_ConstantStackPush(EOS(STATIC_2809), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i230)
2809_0_createTree_ConstantStackPush(EOS(STATIC_2809), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i230) → 2812_0_createTree_IntArithmetic(EOS(STATIC_2812), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i230, 1)
2812_0_createTree_IntArithmetic(EOS(STATIC_2812), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i230, matching1) → 2816_0_createTree_InvokeMethod(EOS(STATIC_2816), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), -(i230, 1)) | &&(>=(i230, 0), =(matching1, 1))
2816_0_createTree_InvokeMethod(EOS(STATIC_2816), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1183) → 2817_1_createTree_InvokeMethod(2817_0_createTree_Load(EOS(STATIC_2817), i1183), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1183)
2817_0_createTree_Load(EOS(STATIC_2817), i1183) → 2819_0_createTree_Load(EOS(STATIC_2819), i1183)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(EOS(STATIC_1232), i1187, NULL), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1187) → 2827_0_createTree_Return(EOS(STATIC_2827), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1187, i1187, NULL)
2817_1_createTree_InvokeMethod(2805_0_createTree_Return(EOS(STATIC_2805), java.lang.Object(GrowTreeR.Tree(EOC, o1634))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1202) → 2835_0_createTree_Return(EOS(STATIC_2835), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1202, java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2819_0_createTree_Load(EOS(STATIC_2819), i1183) → 1216_0_createTree_Load(EOS(STATIC_1216), i1183)
1216_0_createTree_Load(EOS(STATIC_1216), i219) → 1220_0_createTree_GT(EOS(STATIC_1220), i219, i219)
2827_0_createTree_Return(EOS(STATIC_2827), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1187, i1187, NULL) → 2836_0_createTree_InvokeMethod(EOS(STATIC_2836), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL)
2836_0_createTree_InvokeMethod(EOS(STATIC_2836), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL) → 2841_0_addChild_Load(EOS(STATIC_2841), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL)
2841_0_addChild_Load(EOS(STATIC_2841), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL) → 2849_0_addChild_New(EOS(STATIC_2849), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2849_0_addChild_New(EOS(STATIC_2849), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2857_0_addChild_Duplicate(EOS(STATIC_2857), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2857_0_addChild_Duplicate(EOS(STATIC_2857), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2865_0_addChild_Load(EOS(STATIC_2865), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2865_0_addChild_Load(EOS(STATIC_2865), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2869_0_addChild_Load(EOS(STATIC_2869), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL)
2869_0_addChild_Load(EOS(STATIC_2869), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL) → 2875_0_addChild_FieldAccess(EOS(STATIC_2875), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2875_0_addChild_FieldAccess(EOS(STATIC_2875), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2886_0_addChild_InvokeMethod(EOS(STATIC_2886), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616)
2886_0_addChild_InvokeMethod(EOS(STATIC_2886), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616) → 2890_0_<init>_Load(EOS(STATIC_2890), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616)
2890_0_<init>_Load(EOS(STATIC_2890), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616) → 2892_0_<init>_InvokeMethod(EOS(STATIC_2892), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2892_0_<init>_InvokeMethod(EOS(STATIC_2892), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2896_0_<init>_Load(EOS(STATIC_2896), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616)
2896_0_<init>_Load(EOS(STATIC_2896), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616) → 2899_0_<init>_Load(EOS(STATIC_2899), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2899_0_<init>_Load(EOS(STATIC_2899), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2903_0_<init>_FieldAccess(EOS(STATIC_2903), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL)
2903_0_<init>_FieldAccess(EOS(STATIC_2903), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL) → 2906_0_<init>_Load(EOS(STATIC_2906), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616)
2906_0_<init>_Load(EOS(STATIC_2906), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616) → 2912_0_<init>_Load(EOS(STATIC_2912), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2912_0_<init>_Load(EOS(STATIC_2912), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2915_0_<init>_FieldAccess(EOS(STATIC_2915), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616)
2915_0_<init>_FieldAccess(EOS(STATIC_2915), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616) → 2919_0_<init>_Return(EOS(STATIC_2919), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616)
2919_0_<init>_Return(EOS(STATIC_2919), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1616) → 2923_0_addChild_FieldAccess(EOS(STATIC_2923), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2923_0_addChild_FieldAccess(EOS(STATIC_2923), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2927_0_addChild_Return(EOS(STATIC_2927), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), NULL)
2927_0_addChild_Return(EOS(STATIC_2927), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), NULL) → 2932_0_createTree_Inc(EOS(STATIC_2932), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172)
2932_0_createTree_Inc(EOS(STATIC_2932), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172) → 2935_0_createTree_JMP(EOS(STATIC_2935), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, +(i1172, 1)) | >=(i1172, 0)
2935_0_createTree_JMP(EOS(STATIC_2935), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1296) → 2939_0_createTree_Load(EOS(STATIC_2939), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1296)
2939_0_createTree_Load(EOS(STATIC_2939), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1296) → 2796_0_createTree_Load(EOS(STATIC_2796), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1296)
2835_0_createTree_Return(EOS(STATIC_2835), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1202, java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2840_0_createTree_InvokeMethod(EOS(STATIC_2840), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2840_0_createTree_InvokeMethod(EOS(STATIC_2840), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2844_0_addChild_Load(EOS(STATIC_2844), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2844_0_addChild_Load(EOS(STATIC_2844), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2856_0_addChild_New(EOS(STATIC_2856), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2856_0_addChild_New(EOS(STATIC_2856), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2863_0_addChild_Duplicate(EOS(STATIC_2863), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2863_0_addChild_Duplicate(EOS(STATIC_2863), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2868_0_addChild_Load(EOS(STATIC_2868), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2868_0_addChild_Load(EOS(STATIC_2868), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2874_0_addChild_Load(EOS(STATIC_2874), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2874_0_addChild_Load(EOS(STATIC_2874), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2885_0_addChild_FieldAccess(EOS(STATIC_2885), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2885_0_addChild_FieldAccess(EOS(STATIC_2885), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2888_0_addChild_InvokeMethod(EOS(STATIC_2888), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616)
2888_0_addChild_InvokeMethod(EOS(STATIC_2888), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616) → 2891_0_<init>_Load(EOS(STATIC_2891), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616)
2891_0_<init>_Load(EOS(STATIC_2891), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616) → 2894_0_<init>_InvokeMethod(EOS(STATIC_2894), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2894_0_<init>_InvokeMethod(EOS(STATIC_2894), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2898_0_<init>_Load(EOS(STATIC_2898), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616)
2898_0_<init>_Load(EOS(STATIC_2898), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616) → 2901_0_<init>_Load(EOS(STATIC_2901), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2901_0_<init>_Load(EOS(STATIC_2901), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2905_0_<init>_FieldAccess(EOS(STATIC_2905), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2905_0_<init>_FieldAccess(EOS(STATIC_2905), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2911_0_<init>_Load(EOS(STATIC_2911), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616)
2911_0_<init>_Load(EOS(STATIC_2911), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616) → 2914_0_<init>_Load(EOS(STATIC_2914), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, o1616, java.lang.Object(GrowTreeR.TreeList(EOC)))
2914_0_<init>_Load(EOS(STATIC_2914), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, o1616, java.lang.Object(GrowTreeR.TreeList(EOC))) → 2917_0_<init>_FieldAccess(EOS(STATIC_2917), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616)
2917_0_<init>_FieldAccess(EOS(STATIC_2917), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616, java.lang.Object(GrowTreeR.TreeList(EOC)), o1616) → 2922_0_<init>_Return(EOS(STATIC_2922), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616)
2922_0_<init>_Return(EOS(STATIC_2922), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), o1616) → 2925_0_addChild_FieldAccess(EOS(STATIC_2925), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC)))
2925_0_addChild_FieldAccess(EOS(STATIC_2925), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.Tree(EOC, o1634)), java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 2930_0_addChild_Return(EOS(STATIC_2930), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), java.lang.Object(GrowTreeR.Tree(EOC, o1634)))
2930_0_addChild_Return(EOS(STATIC_2930), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), java.lang.Object(GrowTreeR.Tree(EOC, o1634))) → 2933_0_createTree_Inc(EOS(STATIC_2933), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172)
2933_0_createTree_Inc(EOS(STATIC_2933), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1172) → 2937_0_createTree_JMP(EOS(STATIC_2937), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, +(i1172, 1)) | >=(i1172, 0)
2937_0_createTree_JMP(EOS(STATIC_2937), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1297) → 2942_0_createTree_Load(EOS(STATIC_2942), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1297)
2942_0_createTree_Load(EOS(STATIC_2942), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1297) → 2796_0_createTree_Load(EOS(STATIC_2796), i230, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i463, i1297)
R rules:
1220_0_createTree_GT(EOS(STATIC_1220), i223, i223) → 1223_0_createTree_GT(EOS(STATIC_1223), i223, i223)
1223_0_createTree_GT(EOS(STATIC_1223), i223, i223) → 1226_0_createTree_ConstantStackPush(EOS(STATIC_1226), i223) | <=(i223, 0)
1226_0_createTree_ConstantStackPush(EOS(STATIC_1226), i223) → 1232_0_createTree_Return(EOS(STATIC_1232), i223, NULL)
1273_0_random_ArrayAccess(EOS(STATIC_1273), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220) → 1275_0_random_ArrayAccess(EOS(STATIC_1275), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220)
1275_0_random_ArrayAccess(EOS(STATIC_1275), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i72)), i220) → 1279_0_<init>_Load(EOS(STATIC_1279), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) | >=(i220, i72)
1279_0_<init>_Load(EOS(STATIC_1279), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1284_0_<init>_InvokeMethod(EOS(STATIC_1284), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1284_0_<init>_InvokeMethod(EOS(STATIC_1284), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1287_0_<init>_Load(EOS(STATIC_1287), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1287_0_<init>_Load(EOS(STATIC_1287), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1292_0_<init>_InvokeMethod(EOS(STATIC_1292), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1292_0_<init>_InvokeMethod(EOS(STATIC_1292), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1297_0_<init>_Load(EOS(STATIC_1297), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1295_0_random_InvokeMethod(EOS(STATIC_1295), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1300_0_random_InvokeMethod(EOS(STATIC_1300), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1297_0_<init>_Load(EOS(STATIC_1297), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1305_0_<init>_InvokeMethod(EOS(STATIC_1305), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1300_0_random_InvokeMethod(EOS(STATIC_1300), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1303_0_random_InvokeMethod(EOS(STATIC_1303), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1303_0_random_InvokeMethod(EOS(STATIC_1303), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1306_0_<init>_Load(EOS(STATIC_1306), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1305_0_<init>_InvokeMethod(EOS(STATIC_1305), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1308_0_<init>_Load(EOS(STATIC_1308), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1306_0_<init>_Load(EOS(STATIC_1306), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1314_0_<init>_InvokeMethod(EOS(STATIC_1314), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1308_0_<init>_Load(EOS(STATIC_1308), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1316_0_<init>_InvokeMethod(EOS(STATIC_1316), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1314_0_<init>_InvokeMethod(EOS(STATIC_1314), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1319_0_<init>_Load(EOS(STATIC_1319), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1316_0_<init>_InvokeMethod(EOS(STATIC_1316), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1320_0_<init>_Load(EOS(STATIC_1320), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1319_0_<init>_Load(EOS(STATIC_1319), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1325_0_<init>_InvokeMethod(EOS(STATIC_1325), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1320_0_<init>_Load(EOS(STATIC_1320), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1326_0_<init>_InvokeMethod(EOS(STATIC_1326), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1325_0_<init>_InvokeMethod(EOS(STATIC_1325), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1329_0_<init>_Load(EOS(STATIC_1329), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1326_0_<init>_InvokeMethod(EOS(STATIC_1326), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1331_0_<init>_Load(EOS(STATIC_1331), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1329_0_<init>_Load(EOS(STATIC_1329), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1338_0_<init>_InvokeMethod(EOS(STATIC_1338), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1331_0_<init>_Load(EOS(STATIC_1331), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1334_0_<init>_Load(EOS(STATIC_1334), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1334_0_<init>_Load(EOS(STATIC_1334), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1340_0_<init>_FieldAccess(EOS(STATIC_1340), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1338_0_<init>_InvokeMethod(EOS(STATIC_1338), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1343_0_<init>_Load(EOS(STATIC_1343), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1340_0_<init>_FieldAccess(EOS(STATIC_1340), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1347_0_<init>_Load(EOS(STATIC_1347), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1343_0_<init>_Load(EOS(STATIC_1343), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1355_0_<init>_InvokeMethod(EOS(STATIC_1355), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1347_0_<init>_Load(EOS(STATIC_1347), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1350_0_<init>_InvokeMethod(EOS(STATIC_1350), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1350_0_<init>_InvokeMethod(EOS(STATIC_1350), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1357_0_<init>_StackPop(EOS(STATIC_1357), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1355_0_<init>_InvokeMethod(EOS(STATIC_1355), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1362_0_<init>_Load(EOS(STATIC_1362), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1357_0_<init>_StackPop(EOS(STATIC_1357), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1364_0_<init>_Return(EOS(STATIC_1364), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1362_0_<init>_Load(EOS(STATIC_1362), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1369_0_<init>_Load(EOS(STATIC_1369), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1364_0_<init>_Return(EOS(STATIC_1364), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1371_0_<init>_Return(EOS(STATIC_1371), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1369_0_<init>_Load(EOS(STATIC_1369), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1376_0_<init>_FieldAccess(EOS(STATIC_1376), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1371_0_<init>_Return(EOS(STATIC_1371), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1378_0_<init>_Return(EOS(STATIC_1378), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1376_0_<init>_FieldAccess(EOS(STATIC_1376), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1386_0_<init>_Load(EOS(STATIC_1386), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1378_0_<init>_Return(EOS(STATIC_1378), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1388_0_<init>_Return(EOS(STATIC_1388), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1386_0_<init>_Load(EOS(STATIC_1386), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1395_0_<init>_InvokeMethod(EOS(STATIC_1395), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1388_0_<init>_Return(EOS(STATIC_1388), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1396_0_<init>_Return(EOS(STATIC_1396), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220)
1395_0_<init>_InvokeMethod(EOS(STATIC_1395), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1400_0_<init>_StackPop(EOS(STATIC_1400), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1396_0_<init>_Return(EOS(STATIC_1396), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220) → 1403_0_random_ArrayAccess(EOS(STATIC_1403), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220)
1400_0_<init>_StackPop(EOS(STATIC_1400), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1407_0_<init>_Return(EOS(STATIC_1407), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1403_0_random_ArrayAccess(EOS(STATIC_1403), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i72)), i220) → 1409_0_createTree_InvokeMethod(EOS(STATIC_1409), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1407_0_<init>_Return(EOS(STATIC_1407), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1411_0_<init>_Return(EOS(STATIC_1411), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1411_0_<init>_Return(EOS(STATIC_1411), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1425_0_<init>_Return(EOS(STATIC_1425), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1425_0_<init>_Return(EOS(STATIC_1425), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1433_0_<init>_Return(EOS(STATIC_1433), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL)
1433_0_<init>_Return(EOS(STATIC_1433), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL) → 1449_0_random_InvokeMethod(EOS(STATIC_1449), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL)
1449_0_random_InvokeMethod(EOS(STATIC_1449), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL) → 1459_0_createTree_InvokeMethod(EOS(STATIC_1459), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i230, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2799_0_createTree_GE(EOS(STATIC_2799), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463) → 2800_0_createTree_GE(EOS(STATIC_2800), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463)
2800_0_createTree_GE(EOS(STATIC_2800), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, i1172, i463) → 2802_0_createTree_Load(EOS(STATIC_2802), java.lang.Object(GrowTreeR.Tree(EOC, o1616))) | >=(i1172, i463)
2802_0_createTree_Load(EOS(STATIC_2802), java.lang.Object(GrowTreeR.Tree(EOC, o1616))) → 2805_0_createTree_Return(EOS(STATIC_2805), java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2817_1_createTree_InvokeMethod(1409_0_createTree_InvokeMethod(EOS(STATIC_1409), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1191, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1192) → 2828_0_createTree_InvokeMethod(EOS(STATIC_2828), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1191, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2817_1_createTree_InvokeMethod(1459_0_createTree_InvokeMethod(EOS(STATIC_1459), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1196, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1197) → 2832_0_createTree_InvokeMethod(EOS(STATIC_2832), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1196, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(EOS(STATIC_2838), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1224, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i1225, i1226, java.lang.Object(GrowTreeR.Tree(EOC, o1640))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1227) → 2854_0_createTree_InvokeMethod(EOS(STATIC_2854), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1224, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i1225, i1226, java.lang.Object(GrowTreeR.Tree(EOC, o1640)))
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1248, java.lang.Object(GrowTreeR.Tree(EOC, o1685)), i1249, i1250, java.lang.Object(GrowTreeR.Tree(EOC, o1685))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i1251) → 2883_0_createTree_InvokeMethod(EOS(STATIC_2883), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1248, java.lang.Object(GrowTreeR.Tree(EOC, o1685)), i1249, i1250, java.lang.Object(GrowTreeR.Tree(EOC, o1685)))
2828_0_createTree_InvokeMethod(EOS(STATIC_2828), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1191, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2833_0_createTree_InvokeMethod(EOS(STATIC_2833), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1191, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2832_0_createTree_InvokeMethod(EOS(STATIC_2832), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1196, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2833_0_createTree_InvokeMethod(EOS(STATIC_2833), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1196, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2833_0_createTree_InvokeMethod(EOS(STATIC_2833), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1206, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2838_0_createTree_InvokeMethod(EOS(STATIC_2838), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1640)))
2838_0_createTree_InvokeMethod(EOS(STATIC_2838), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1640))) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1640)))
2854_0_createTree_InvokeMethod(EOS(STATIC_2854), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1224, java.lang.Object(GrowTreeR.Tree(EOC, o1640)), i1225, i1226, java.lang.Object(GrowTreeR.Tree(EOC, o1640))) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)))
2883_0_createTree_InvokeMethod(EOS(STATIC_2883), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1248, java.lang.Object(GrowTreeR.Tree(EOC, o1685)), i1249, i1250, java.lang.Object(GrowTreeR.Tree(EOC, o1685))) → 2854_0_createTree_InvokeMethod(EOS(STATIC_2854), i230, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), i463, i1172, java.lang.Object(GrowTreeR.Tree(EOC, o1616)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1638sub)))), i1248, java.lang.Object(GrowTreeR.Tree(EOC, o1685)), i1249, i1250, java.lang.Object(GrowTreeR.Tree(EOC, o1685)))

Combined rules. Obtained 3 conditional rules for P and 5 conditional rules for R.


P rules:
1220_0_createTree_GT(EOS(STATIC_1220), x0, x0) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(EOS(STATIC_1220), -(-(x0, 1), 1), -(-(x0, 1), 1)), -(x0, 1), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), x1, 0, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), -(-(x0, 1), 1)) | &&(>(x1, 0), >(+(x0, 1), 1))
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(EOS(STATIC_1232), x0, NULL), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x0) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(EOS(STATIC_1220), -(x1, 1), -(x1, 1)), x1, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), x3, +(x4, 1), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), -(x1, 1)) | &&(&&(>(+(x4, 1), 0), >(x3, +(x4, 1))), >(+(x1, 1), 0))
2817_1_createTree_InvokeMethod(2805_0_createTree_Return(EOS(STATIC_2805), java.lang.Object(GrowTreeR.Tree(EOC, x0))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(EOS(STATIC_1220), -(x1, 1), -(x1, 1)), x1, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), x3, +(x4, 1), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), -(x1, 1)) | &&(&&(>(+(x4, 1), 0), >(x3, +(x4, 1))), >(+(x1, 1), 0))
R rules:
1220_0_createTree_GT(EOS(STATIC_1220), x0, x0) → 1232_0_createTree_Return(EOS(STATIC_1232), x0, NULL) | <=(x0, 0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(EOS(STATIC_2838), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x9) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)))
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x9) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)))
2817_1_createTree_InvokeMethod(1409_0_createTree_InvokeMethod(EOS(STATIC_1409), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x0, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)))
2817_1_createTree_InvokeMethod(1459_0_createTree_InvokeMethod(EOS(STATIC_1459), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), x0, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 2861_0_createTree_InvokeMethod(EOS(STATIC_2861), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)))

Filtered ground terms:



GrowTreeR.TreeList(x1) → GrowTreeR.TreeList
GrowTreeR.Tree(x1, x2) → GrowTreeR.Tree(x2)
1220_0_createTree_GT(x1, x2, x3) → 1220_0_createTree_GT(x2, x3)
2805_0_createTree_Return(x1, x2) → 2805_0_createTree_Return(x2)
1232_0_createTree_Return(x1, x2, x3) → 1232_0_createTree_Return(x2)
Cond_1220_0_createTree_GT(x1, x2, x3, x4, x5) → Cond_1220_0_createTree_GT(x1, x3, x4, x5)
2861_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2861_0_createTree_InvokeMethod(x2, x3, x4, x5, x6, x7)
java.lang.NullPointerException(x1) → java.lang.NullPointerException
1459_0_createTree_InvokeMethod(x1, x2, x3, x4) → 1459_0_createTree_InvokeMethod(x3)
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
1409_0_createTree_InvokeMethod(x1, x2, x3, x4) → 1409_0_createTree_InvokeMethod(x3)
2838_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2838_0_createTree_InvokeMethod(x2, x3, x4, x5, x6, x7)
Cond_1220_0_createTree_GT(x1, x2, x3, x4) → Cond_1220_0_createTree_GT(x1, x3, x4)

Filtered duplicate args:



1220_0_createTree_GT(x1, x2) → 1220_0_createTree_GT(x2)
Cond_1220_0_createTree_GT(x1, x2, x3, x4) → Cond_1220_0_createTree_GT(x1, x3, x4)
2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2817_1_createTree_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2817_1_createTree_InvokeMethod(x1, x2, x3, x5, x6, x7)
Cond_2817_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2817_1_createTree_InvokeMethod1(x1, x2, x3, x5, x6, x7, x8)
Cond_1220_0_createTree_GT(x1, x2, x3) → Cond_1220_0_createTree_GT(x1, x3)
2838_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2838_0_createTree_InvokeMethod(x1, x2, x4, x5, x6)
2861_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2861_0_createTree_InvokeMethod(x1, x2, x4, x5, x6)

Filtered unneeded arguments:



2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5)
Cond_2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_2817_1_createTree_InvokeMethod(x1, x3, x4, x5)
Cond_2817_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_2817_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_1220_0_createTree_GT(x1, x2) → Cond_1220_0_createTree_GT(x1)
2861_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 2861_0_createTree_InvokeMethod(x1)

Filtered all non-integer terms:



2817_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 2817_1_createTree_InvokeMethod(x1, x2, x3, x4)
GrowTreeR.Tree(x1) → GrowTreeR.Tree
2805_0_createTree_Return(x1) → 2805_0_createTree_Return
2838_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 2838_0_createTree_InvokeMethod(x2, x3, x4)
2861_0_createTree_InvokeMethod(x1) → 2861_0_createTree_InvokeMethod

Combined rules. Obtained 3 conditional rules for P and 5 conditional rules for R.


P rules:
1220_0_createTree_GT(x0) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0) | &&(>(x1, 0), >(x0, 0))
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x3, x4) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) | &&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1))
2817_1_createTree_InvokeMethod(2805_0_createTree_Return, x1, x3, x4) → 2817_1_createTree_InvokeMethod(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) | &&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1))
R rules:
1220_0_createTree_GT(x0) → 1232_0_createTree_Return(x0) | <=(x0, 0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1409_0_createTree_InvokeMethod(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1459_0_createTree_InvokeMethod(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod

Performed bisimulation on rules. Used the following equivalence classes: {[1232_0_createTree_Return_1, 1409_0_createTree_InvokeMethod_1, 1459_0_createTree_InvokeMethod_1]=1232_0_createTree_Return_1, [2861_0_createTree_InvokeMethod, 2805_0_createTree_Return]=2861_0_createTree_InvokeMethod}


Finished conversion. Obtained 9 rules for P and 5 rules for R. System has predefined symbols.


P rules:
1220_0_CREATETREE_GT(x0) → COND_1220_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1)
COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0)
COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 1220_0_CREATETREE_GT(-(-(x0, 1), 1))
2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0), x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1232_0_createTree_Return(x0), x1, x3, x4)
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1))
2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 2861_0_createTree_InvokeMethod, x1, x3, x4)
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1))
R rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(<=(x0, 0), x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod

(20) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(0): 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])
(1): COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(2): COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(x0[2] - 1 - 1)
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(5): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(x1[5] - 1)
(6): 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])
(7): COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[7] - 1), x1[7], x3[7], x4[7] + 1)
(8): COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(x1[8] - 1)

(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 1232_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(1) -> (6), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 2861_0_createTree_InvokeMethodx0[1] - 1* x1[6]x1[1]* x3[6]0* x4[6])


(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])


(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(4) -> (6), if (1220_0_createTree_GT(x1[4] - 1) →* 2861_0_createTree_InvokeMethodx1[4]* x1[6]x3[4]* x3[6]x4[4] + 1* x4[6])


(5) -> (0), if (x1[5] - 1* x0[0])


(6) -> (7), if (x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1x1[6]* x1[7]x3[6]* x3[7]x4[6]* x4[7])


(6) -> (8), if (x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1x1[6]* x1[8]x3[6]* x3[8]x4[6]* x4[8])


(7) -> (3), if (1220_0_createTree_GT(x1[7] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[7]* x1[3]x3[7]* x3[3]x4[7] + 1* x4[3])


(7) -> (6), if (1220_0_createTree_GT(x1[7] - 1) →* 2861_0_createTree_InvokeMethodx1[7]* x1[6]x3[7]* x3[6]x4[7] + 1* x4[6])


(8) -> (0), if (x1[8] - 1* x0[0])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(21) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@fd04ce Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 1220_0_CREATETREE_GT(x0) → COND_1220_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1) the following chains were created:
  • We consider the chain COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (1)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (1) using rules (III), (IV) which results in the following new constraint:

    (2)    (&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0))=TRUE1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (7)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (7) using rules (III), (IV) which results in the following new constraint:

    (8)    (&&(>(x1[0], 0), >(-(x1[5], 1), 0))=TRUE1220_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[5], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (13)    (-(x1[8], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (13) using rules (III), (IV) which results in the following new constraint:

    (14)    (&&(>(x1[0], 0), >(-(x1[8], 1), 0))=TRUE1220_0_CREATETREE_GT(-(x1[8], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[8], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[8], 1), 0)), -(x1[8], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (19)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]1x1[0]=x1[2]11220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (19) using rules (III), (IV) which results in the following new constraint:

    (20)    (&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0))=TRUE1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (23) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (25)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (25) using rules (III), (IV) which results in the following new constraint:

    (26)    (&&(>(x1[0], 0), >(-(x1[5], 1), 0))=TRUE1220_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[5], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (29) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (31)    (-(x1[8], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (31) using rules (III), (IV) which results in the following new constraint:

    (32)    (&&(>(x1[0], 0), >(-(x1[8], 1), 0))=TRUE1220_0_CREATETREE_GT(-(x1[8], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[8], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[8], 1), 0)), -(x1[8], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)







For Pair COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0) the following chains were created:
  • We consider the chain 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (37)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_createTree_GT(-(-(x0[1], 1), 1))=1232_0_createTree_Return(x0[3])∧-(x0[1], 1)=x1[3]x1[1]=x3[3]0=x4[3]COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (37) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (38)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECond_1220_0_createTree_GT(<=(-(-(x0[0], 1), 1), 0), -(-(x0[0], 1), 1))=1232_0_createTree_Return(x0[3]) ⇒ COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (38) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (39)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (39) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (40)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (40) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (41)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (41) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (42)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧[bni_43] ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_44] ≥ 0)



  • We consider the chain 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (43)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_createTree_GT(-(-(x0[1], 1), 1))=2861_0_createTree_InvokeMethod-(x0[1], 1)=x1[6]x1[1]=x3[6]0=x4[6]COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (43) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (44)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECond_1220_0_createTree_GT(<=(-(-(x0[0], 1), 1), 0), -(-(x0[0], 1), 1))=2861_0_createTree_InvokeMethodCOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (44) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (45)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (45) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (46)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (46) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (47)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] + [bni_43]x0[0] ≥ 0∧[(-1)bso_44] + x0[0] ≥ 0)



    We simplified constraint (47) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (48)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧[bni_43] ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_44] ≥ 0)







For Pair COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 1220_0_CREATETREE_GT(-(-(x0, 1), 1)) the following chains were created:
  • We consider the chain 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (49)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]-(-(x0[2], 1), 1)=x0[0]1COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (49) using rules (III), (IV) which results in the following new constraint:

    (50)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥1220_0_CREATETREE_GT(-(-(x0[0], 1), 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (50) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (51)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]x0[0] ≥ 0∧[(-1)bso_46] + x0[0] ≥ 0)



    We simplified constraint (51) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (52)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]x0[0] ≥ 0∧[(-1)bso_46] + x0[0] ≥ 0)



    We simplified constraint (52) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (53)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] + [bni_45]x0[0] ≥ 0∧[(-1)bso_46] + x0[0] ≥ 0)



    We simplified constraint (53) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (54)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧0 ≥ 0∧[bni_45] ≥ 0∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_46] ≥ 0)







For Pair 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0), x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1232_0_createTree_Return(x0), x1, x3, x4) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (55)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (55) using rules (I), (II), (IV) which results in the following new constraint:

    (56)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (56) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (57)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (57) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (58)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (58) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (59)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (59) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (60)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(2)bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)



  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)) which results in the following constraint:

    (61)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (61) using rules (I), (II), (IV) which results in the following new constraint:

    (62)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (62) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (63)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (63) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (64)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (64) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (65)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x4[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (65) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (66)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(2)bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (67)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1220_0_createTree_GT(-(x1[4], 1))=1232_0_createTree_Return(x0[3]1)∧x1[4]=x1[3]1x3[4]=x3[3]1+(x4[4], 1)=x4[3]1COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (67) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (68)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECond_1220_0_createTree_GT(<=(-(x1[3], 1), 0), -(x1[3], 1))=1232_0_createTree_Return(x0[3]1) ⇒ COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (68) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (69)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (69) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (70)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (70) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (71)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (71) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (72)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_50] ≥ 0)



  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (73)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1220_0_createTree_GT(-(x1[4], 1))=2861_0_createTree_InvokeMethodx1[4]=x1[6]x3[4]=x3[6]+(x4[4], 1)=x4[6]COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (73) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (74)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECond_1220_0_createTree_GT(<=(-(x1[3], 1), 0), -(x1[3], 1))=2861_0_createTree_InvokeMethodCOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (74) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (75)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (75) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (76)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (76) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (77)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x4[3] ≥ 0∧[(-1)bso_50] + x4[3] ≥ 0)



    We simplified constraint (77) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (78)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_50] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (79)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]-(x1[5], 1)=x0[0]COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥1220_0_CREATETREE_GT(-(x1[5], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (79) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (80)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥1220_0_CREATETREE_GT(-(x1[3], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (80) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (81)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x4[3] ≥ 0∧[(-1)bso_52] + x4[3] ≥ 0)



    We simplified constraint (81) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (82)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x4[3] ≥ 0∧[(-1)bso_52] + x4[3] ≥ 0)



    We simplified constraint (82) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (83)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x4[3] ≥ 0∧[(-1)bso_52] + x4[3] ≥ 0)



    We simplified constraint (83) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (84)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[bni_51] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_51 + (-1)Bound*bni_51] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_52] ≥ 0)







For Pair 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 2861_0_createTree_InvokeMethod, x1, x3, x4) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)) which results in the following constraint:

    (85)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (85) using rule (IV) which results in the following new constraint:

    (86)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (86) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (87)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (87) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (88)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (88) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (89)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (89) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (90)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(2)bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_53 + (-1)Bound*bni_53] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[2 + (-1)bso_54] ≥ 0)



  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1)) which results in the following constraint:

    (91)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[8]x3[6]=x3[8]x4[6]=x4[8]2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (91) using rule (IV) which results in the following new constraint:

    (92)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (93)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (94)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (95)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53 + (-1)Bound*bni_53] + [(2)bni_53]x4[6] ≥ 0∧[2 + (-1)bso_54] + x4[6] ≥ 0)



    We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (96)    (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(2)bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_53 + (-1)Bound*bni_53] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[2 + (-1)bso_54] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (97)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]1220_0_createTree_GT(-(x1[7], 1))=1232_0_createTree_Return(x0[3])∧x1[7]=x1[3]x3[7]=x3[3]+(x4[7], 1)=x4[3]COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (97) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (98)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECond_1220_0_createTree_GT(<=(-(x1[6], 1), 0), -(x1[6], 1))=1232_0_createTree_Return(x0[3]) ⇒ COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[6], 1)), x1[6], x3[6], +(x4[6], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (98) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (99)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (99) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (100)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (101)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (102)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)



  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)), 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (103)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]1220_0_createTree_GT(-(x1[7], 1))=2861_0_createTree_InvokeMethodx1[7]=x1[6]1x3[7]=x3[6]1+(x4[7], 1)=x4[6]1COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (103) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (104)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECond_1220_0_createTree_GT(<=(-(x1[6], 1), 0), -(x1[6], 1))=2861_0_createTree_InvokeMethodCOND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[6], 1)), x1[6], x3[6], +(x4[6], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (104) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (105)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (105) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (106)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (106) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (107)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (107) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (108)    (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (109)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[8]x3[6]=x3[8]x4[6]=x4[8]-(x1[8], 1)=x0[0]COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8])≥1220_0_CREATETREE_GT(-(x1[8], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥))



    We simplified constraint (109) using rules (III), (IV) which results in the following new constraint:

    (110)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥1220_0_CREATETREE_GT(-(x1[6], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥))



    We simplified constraint (110) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (111)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (111) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (112)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (112) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (113)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (113) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (114)    (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[bni_57] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_58] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 1220_0_CREATETREE_GT(x0) → COND_1220_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)

  • COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧[bni_43] ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_44] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧[bni_43] ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_44] ≥ 0)

  • COND_1220_0_CREATETREE_GT(TRUE, x0, x1) → 1220_0_CREATETREE_GT(-(-(x0, 1), 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧0 ≥ 0∧[bni_45] ≥ 0∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_46] ≥ 0)

  • 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0), x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1232_0_createTree_Return(x0), x1, x3, x4)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(2)bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(2)bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_50] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_50] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0), x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[bni_51] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_51 + (-1)Bound*bni_51] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_52] ≥ 0)

  • 2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1, x3, x4) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 2861_0_createTree_InvokeMethod, x1, x3, x4)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(2)bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_53 + (-1)Bound*bni_53] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[2 + (-1)bso_54] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(2)bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_53 + (-1)Bound*bni_53] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[2 + (-1)bso_54] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1, x3, x4) → 1220_0_CREATETREE_GT(-(x1, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[bni_57] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_58] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1220_0_createTree_GT(x1)) = [2]   
POL(Cond_1220_0_createTree_GT(x1, x2)) = [2]   
POL(<=(x1, x2)) = 0   
POL(0) = 0   
POL(1232_0_createTree_Return(x1)) = [2]   
POL(2817_1_createTree_InvokeMethod(x1, x2, x3, x4)) = 0   
POL(2838_0_createTree_InvokeMethod(x1, x2, x3)) = 0   
POL(2861_0_createTree_InvokeMethod) = 0   
POL(1220_0_CREATETREE_GT(x1)) = [-1] + [-1]x1   
POL(COND_1220_0_CREATETREE_GT(x1, x2, x3)) = [-1] + x2 + [-1]x1   
POL(&&(x1, x2)) = 0   
POL(>(x1, x2)) = 0   
POL(2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = [1] + [2]x4 + [-1]x1   
POL(-(x1, x2)) = 0   
POL(1) = 0   
POL(COND_2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [1] + x5 + [-1]x2   
POL(-1) = 0   
POL(+(x1, x2)) = 0   
POL(COND_2817_1_CREATETREE_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + x5 + [-1]x2 + [2]x1   

The following pairs are in P>:

2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])

The following pairs are in Pbound:

1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))
2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1))
2817_1_CREATETREE_INVOKEMETHOD(2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2817_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 2861_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1))

The following pairs are in P:

1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))
2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(-(x1[8], 1))

At least the following rules have been oriented under context sensitive arithmetic replacement:

&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1
&&(FALSE, FALSE)1FALSE1
1220_0_createTree_GT(x0)1Cond_1220_0_createTree_GT(<=(x0, 0), x0)1
Cond_1220_0_createTree_GT(TRUE, x0)11232_0_createTree_Return(x0)1

(22) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(0): 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])
(1): COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(2): COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(x0[2] - 1 - 1)
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(5): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(x1[5] - 1)
(7): COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[7] - 1), x1[7], x3[7], x4[7] + 1)
(8): COND_2817_1_CREATETREE_INVOKEMETHOD1(TRUE, 2861_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1220_0_CREATETREE_GT(x1[8] - 1)

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(8) -> (0), if (x1[8] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 1232_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(7) -> (3), if (1220_0_createTree_GT(x1[7] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[7]* x1[3]x3[7]* x3[3]x4[7] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(23) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(24) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x5, x7, x8) → 2861_0_createTree_InvokeMethod
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x3, x4) → 2861_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(2): COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(x0[2] - 1 - 1)
(5): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(x1[5] - 1)
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(1): COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(0): 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 1232_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(25) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(26) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(2): COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(x0[2] - 1 - 1)
(5): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(x1[5] - 1)
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(1): COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(0): 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 1232_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(27) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@6127c65c Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) the following chains were created:
  • We consider the chain 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (1)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]-(-(x0[2], 1), 1)=x0[0]1COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥1220_0_CREATETREE_GT(-(-(x0[0], 1), 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x1[0] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (8)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]-(x1[5], 1)=x0[0]COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥1220_0_CREATETREE_GT(-(x1[5], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (8) using rules (I), (II), (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (9)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥1220_0_CREATETREE_GT(-(x1[3], 1))∧(UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (9) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (10)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[2 + (-1)bso_33] ≥ 0)



    We simplified constraint (10) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (11)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[2 + (-1)bso_33] ≥ 0)



    We simplified constraint (11) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (12)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[2 + (-1)bso_33] ≥ 0)



    We simplified constraint (12) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (13)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[2 + (-1)bso_33] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[2 + (-1)bso_33] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (15)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1220_0_createTree_GT(-(x1[4], 1))=1232_0_createTree_Return(x0[3]1)∧x1[4]=x1[3]1x3[4]=x3[3]1+(x4[4], 1)=x4[3]1COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (15) using rules (I), (II), (III), (IV), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (16)    (<=(-(x1[3], 1), 0)=x0-(x1[3], 1)=x1Cond_1220_0_createTree_GT(x0, x1)=1232_0_createTree_Return(x0[3]1)∧>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on Cond_1220_0_createTree_GT(x0, x1)=1232_0_createTree_Return(x0[3]1) which results in the following new constraint:

    (17)    (1232_0_createTree_Return(x2)=1232_0_createTree_Return(x0[3]1)∧<=(-(x1[3], 1), 0)=TRUE-(x1[3], 1)=x2>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint:

    (18)    (<=(-(x1[3], 1), 0)=TRUE>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (18) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (19)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (19) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (20)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (20) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (21)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (21) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (22)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (22) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (23)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (24)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (24) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (25)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (25) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (26)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (26) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (27)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (27) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (28)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (28) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (29)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (29) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (30)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)) which results in the following constraint:

    (31)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (31) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (32)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (37)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) the following chains were created:
  • We consider the chain 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (38)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_createTree_GT(-(-(x0[1], 1), 1))=1232_0_createTree_Return(x0[3])∧-(x0[1], 1)=x1[3]x1[1]=x3[3]0=x4[3]COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (38) using rules (III), (IV), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (39)    (<=(-(-(x0[0], 1), 1), 0)=x3-(-(x0[0], 1), 1)=x4Cond_1220_0_createTree_GT(x3, x4)=1232_0_createTree_Return(x0[3])∧>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (39) using rule (V) (with possible (I) afterwards) using induction on Cond_1220_0_createTree_GT(x3, x4)=1232_0_createTree_Return(x0[3]) which results in the following new constraint:

    (40)    (1232_0_createTree_Return(x5)=1232_0_createTree_Return(x0[3])∧<=(-(-(x0[0], 1), 1), 0)=TRUE-(-(x0[0], 1), 1)=x5>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (40) using rules (I), (II), (IV) which results in the following new constraint:

    (41)    (<=(-(-(x0[0], 1), 1), 0)=TRUE>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1220_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (42)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (43)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (44)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (44) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (45)    ([1] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (45) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (46)    ([1] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)







For Pair 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) the following chains were created:
  • We consider the chain COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (47)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (47) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (48)    (>(x1[0], 0)=TRUE>(-(-(x0[2], 1), 1), 0)=TRUE1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (48) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (49)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (49) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (50)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (50) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (51)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (51) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (52)    (x1[0] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (52) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (53)    (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (54)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (54) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (55)    (>(x1[0], 0)=TRUE>(-(x1[5], 1), 0)=TRUE1220_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[5], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (55) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (56)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (56) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (57)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (57) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (58)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (59)    (x1[0] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (60)    (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



  • We consider the chain COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (61)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]1x1[0]=x1[2]11220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (61) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (62)    (>(x1[0], 0)=TRUE>(-(-(x0[2], 1), 1), 0)=TRUE1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (62) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (63)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (63) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (64)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (64) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (65)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    (x1[0] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-3)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (66) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (67)    (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)



  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1)), 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (68)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1220_0_CREATETREE_GT(x0[0])≥NonInfC∧1220_0_CREATETREE_GT(x0[0])≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (68) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (69)    (>(x1[0], 0)=TRUE>(-(x1[5], 1), 0)=TRUE1220_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1220_0_CREATETREE_GT(-(x1[5], 1))≥COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (69) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (70)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (70) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (71)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (71) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (72)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (72) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (73)    (x1[0] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (73) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (74)    (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))
    • (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[2 + (-1)bso_31] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1))
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(1220_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[2 + (-1)bso_33] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
    • ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
    • ([1] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[(-1)bso_39] ≥ 0)

  • 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
    • (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[(-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[(-1)bso_41] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1220_0_createTree_GT(x1)) = [-1] + [-1]x1   
POL(Cond_1220_0_createTree_GT(x1, x2)) = [-1] + x2 + [-1]x1   
POL(<=(x1, x2)) = [-1]   
POL(0) = 0   
POL(1232_0_createTree_Return(x1)) = [-1]   
POL(COND_1220_0_CREATETREE_GT(x1, x2, x3)) = [-1] + x2   
POL(1220_0_CREATETREE_GT(x1)) = [-1] + x1   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   
POL(COND_2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2   
POL(2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = x2   
POL(+(x1, x2)) = x1 + x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   

The following pairs are in P>:

COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1))

The following pairs are in Pbound:

COND_1220_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1220_0_CREATETREE_GT(-(-(x0[2], 1), 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1220_0_CREATETREE_GT(-(x1[5], 1))
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])

The following pairs are in P:

COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])

At least the following rules have been oriented under context sensitive arithmetic replacement:

TRUE1&&(TRUE, TRUE)1
FALSE1&&(TRUE, FALSE)1
FALSE1&&(FALSE, TRUE)1
FALSE1&&(FALSE, FALSE)1

(28) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(1): COND_1220_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(0): 1220_0_CREATETREE_GT(x0[0]) → COND_1220_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])

(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(1) -> (3), if (1220_0_createTree_GT(x0[1] - 1 - 1) →* 1232_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(29) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(30) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)

(4) -> (3), if (1220_0_createTree_GT(x1[4] - 1) →* 1232_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11232_0_createTree_Return(x0[3]) →* 1232_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])



The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(31) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpCand1ShapeHeuristic@9cf9250 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 2 Max Right Steps: 0

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) the following chains were created:
  • We consider the chain 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (1)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (1) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)







For Pair COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) the following chains were created:
  • We consider the chain COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (8)    (1220_0_createTree_GT(-(x1[4], 1))=1232_0_createTree_Return(x0[3])∧x1[4]=x1[3]x3[4]=x3[3]+(x4[4], 1)=x4[3]&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1232_0_createTree_Return(x0[3])=1232_0_createTree_Return(x0[4]1)∧x1[3]=x1[4]1x3[3]=x3[4]1x4[3]=x4[4]1COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]1), x1[4]1, x3[4]1, x4[4]1)≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]1), x1[4]1, x3[4]1, x4[4]1)≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (8) using rules (I), (II), (III), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (9)    (<=(-(x1[4], 1), 0)=x0-(x1[4], 1)=x1Cond_1220_0_createTree_GT(x0, x1)=1232_0_createTree_Return(x0[3])∧>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on Cond_1220_0_createTree_GT(x0, x1)=1232_0_createTree_Return(x0[3]) which results in the following new constraint:

    (10)    (1232_0_createTree_Return(x2)=1232_0_createTree_Return(x0[3])∧<=(-(x1[4], 1), 0)=TRUE-(x1[4], 1)=x2>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (10) using rules (I), (II), (III) which results in the following new constraint:

    (11)    (<=(-(x1[4], 1), 0)=TRUE>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(-(x1[4], 1)), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(-(x1[4], 1)), x1[4], x3[3], +(x4[4], 1))≥2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (11) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (12)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (12) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (13)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (13) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (14)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] + [-2] + [-1]x4[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (15) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (16)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x3[3] + [bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)

  • COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
    • ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1220_0_createTree_GT(x1)) = [-1] + [-1]x1   
POL(Cond_1220_0_createTree_GT(x1, x2)) = [-1] + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(0) = 0   
POL(1232_0_createTree_Return(x1)) = [-1] + [-1]x1   
POL(2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3 + x2   
POL(COND_2817_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + x4 + x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(-(x1, x2)) = x1 + [-1]x2   

The following pairs are in P>:

COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))

The following pairs are in Pbound:

2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_2817_1_CREATETREE_INVOKEMETHOD(TRUE, 1232_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2817_1_CREATETREE_INVOKEMETHOD(1220_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))

The following pairs are in P:

2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])

At least the following rules have been oriented under context sensitive arithmetic replacement:

1220_0_createTree_GT(x0)1Cond_1220_0_createTree_GT(<=(x0, 0), x0)1
Cond_1220_0_createTree_GT(TRUE, x0)11232_0_createTree_Return(x0)1

(32) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1220_0_createTree_GT(x0) → Cond_1220_0_createTree_GT(x0 <= 0, x0)
Cond_1220_0_createTree_GT(TRUE, x0) → 1232_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(3): 2817_1_CREATETREE_INVOKEMETHOD(1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2817_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1232_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])


The set Q consists of the following terms:
1220_0_createTree_GT(x0)
Cond_1220_0_createTree_GT(TRUE, x0)
2817_1_createTree_InvokeMethod(2838_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2817_1_createTree_InvokeMethod(2861_0_createTree_InvokeMethod, x0, x1, x2)
2817_1_createTree_InvokeMethod(1232_0_createTree_Return(x0), x1, x2, x3)

(33) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(34) TRUE